In the manufacture of a microelectronic assembly, electronic components are arranged on a printed circuit board by a pick-and-place machine. The pick-and-place machine comprises a plurality of placement devices, such as suction nozzles sized and shaped to pick up a particular type of component. For example, a pick-and-place machine may include sixteen placement devices. During operation, each placement device moves to a component feeder, picks up a electronic component, moves over the printed circuit board, and positions the component at a designated location on the board, before proceeding to pick up a next component, until all components are placed. The pick-and-place machine is controlled by a computer program, referred to as a configuration. The configuration includes a series of instructions for each placement device that specifies the particular electronic components, the feeder locations, the order of placement, and the positions on the board. It is desired to minimize the cycle time for placing all components to maximize the productivity of the machine. However, determining the configuration having the minimum cycle time is a complicated matter because of the multiplicity of placement devices, components, and board locations. This is made even more complicated in machines that index the board during placement operations so that particular devices only have access to specific regions of the board at certain times.
In order to determine the optimum configuration, it has been proposed to use a genetic algorithm. The algorithm creates a population of possible configurations and determines the optimum. The algorithm then creates a next generation by selecting configurations from the prior generation and modifying the instructions. Current genetic algorithms for pick-and-place configurations adopt a selection process referred to as survival of the fittest, wherein the algorithm creates the next generation based on only the configurations from the prior generation that have the lower cycle times, while excluding configurations with longer cycle times from further consideration. Also, modifications are made by cross-breeding, a process in which instructions from one possible configuration is transposed into another possible configuration within the population. Thus, the algorithm seeks to converge on a solution by selecting better solutions and cross-breeding instructions among the better solutions. This tends to produce a more uniform population with small variations. In so doing, it does not consider possible configurations that differ substantially and may lead to even better solutions.
Therefore, a need exists for an algorithm for developing an optimum configuration for a pick-and-place machine that increases diversity among the possible configurations that are evaluated by providing a more random selection of possible configurations from one generation to the next and by providing more random mutations within the next generation.